/* ========================================================================= */
/* ------------------------------------------------------------------------- */
/*!
  \file			edstgs.h
  \date			Dec 2012
  \author		TNick

  \brief		Contains the definition for EdStgs class


*//*


 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Please read COPYING and README files in root folder
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
/* ------------------------------------------------------------------------- */
/* ========================================================================= */
#ifndef __EDSTGS_INC__
#define __EDSTGS_INC__
//
//
//
//
/*  INCLUDES    ------------------------------------------------------------ */

#include    <QDialog>
#include    <QList>
#include	<memtrack.h>

#include	"ui_edstgs.h"

/*  INCLUDES    ============================================================ */
//
//
//
//
/*  CLASS    --------------------------------------------------------------- */

class	StgsBase;


namespace	Gui		{

/**
*	@brief	Dialog to edit the settings
*/
class EdStgs : public QDialog, public MemTrack		{
	Q_OBJECT
	BBM_TRACK( EdStgs )

	//
	//
	//
	//
	/*  DEFINITIONS    ----------------------------------------------------- */

	/*  DEFINITIONS    ===================================================== */
	//
	//
	//
	//
	/*  DATA    ------------------------------------------------------------ */


private:



	/**
	*	@brief	GUI components embedded in this instance
	*/
	Ui::EdStgs 			ui;


	/**
	*	@brief	list of settings; this is the same thing that the tab stores
	*/
	QList<StgsBase*>	stgs_lst_;


	/*  DATA    ============================================================ */
	//
	//
	//
	//
	/*  FUNCTIONS    ------------------------------------------------------- */

public:

	/**
	*	@brief	constructor
	*/
	explicit			EdStgs			( QWidget * parent = 0 );


	/**
	*	@brief	destructor
	*/
	~EdStgs				(void);


	/**
	*	@brief	add a widget as page
	*/
	int					addPage			( StgsBase * page );


	/**
	*	@brief	starts the dialog
	*/
	int					start			( void );


protected:


	void				changeEvent		( QEvent *e );


protected slots:

	bool				applyPressed	( void );
	bool				okPressed		( void );
	void				resetPressed	( void );
	void				restorePressed	( void );


	/*  FUNCTIONS    ======================================================= */
	//
	//
	//
	//

};	/*	class EdStgs	*/

/*  CLASS    =============================================================== */
//
//
//
//

}	//	namespace	Gui

#endif // __EDSTGS_INC__
/* ------------------------------------------------------------------------- */
/* ========================================================================= */
